package network

import "net"

// ConvertIPv6ToIPv4 尝试将 IPv6 地址转换为 IPv4 地址
func ConvertIPv6ToIPv4(ipStr string) string {
	ip := net.ParseIP(ipStr)
	if ip == nil {
		return ""
	}

	// 如果 IP 地址已经是 IPv4，则直接返回
	if ip.To4() != nil {
		return ip.String()
	}

	// 如果 IP 地址是 IPv6，检查是否为 ::1，并尝试转换为 IPv4
	if ip.IsLoopback() && ip.To4() == nil {
		ipv4 := ip.To4()
		if ipv4 != nil {
			return ipv4.String()
		}
	}

	return ip.String()
}
